//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.restaurant.application.indexes.accumulatelist.mysql;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;
import java.util.List;

public class AccumulateListTableBean implements PickableBean {
    public static final String FN_RECORDID = "recordId";
    public static final String FN_ACCUMULATE = "accumulate";
    public static final String FN_CUSTOMERNAME = "customerName";
    public static final String FN_CREATETIME = "createTime";
    public static final String FN_POINTS = "points";
    public static final String FN_TYPE = "type";
    public static final String FN_DETAIL = "detail";
    public static final String FN_ACTION = "action";
    public static final String FN_CUSTOMERID = "customerId";
    public static final String FN_CURRENTPOINT = "currentPoint";
    public static final String FN_PHONE = "phone";
    public static final String FN_CUSTOMERUID = "customerUID";
    public static final List<String> FIELD_NAMES = Lists.newArrayList(new String[]{"recordId", "accumulate", "customerName", "createTime", "points", "type", "detail", "action", "customerId", "currentPoint", "phone", "customerUID"});
    private Long recordId;
    private UID accumulate;
    private String customerName;
    private Long createTime;
    private Long points;
    private String type;
    private String detail;
    private String action;
    private String customerId;
    private Long currentPoint;
    private String phone;
    private UID customerUID;

    public AccumulateListTableBean(Long recordId, UID accumulate, String customerName, Long createTime, Long points, String type, String detail, String action, String customerId, Long currentPoint, String phone, UID customerUID) {
        this.setRecordId(recordId);
        this.setAccumulate(accumulate);
        this.setCustomerName(customerName);
        this.setCreateTime(createTime);
        this.setPoints(points);
        this.setType(type);
        this.setDetail(detail);
        this.setAction(action);
        this.setCustomerId(customerId);
        this.setCurrentPoint(currentPoint);
        this.setPhone(phone);
        this.setCustomerUID(customerUID);
    }

    public AccumulateListTableBean() {
    }

    public AccumulateListTableBean duplicate() {
        AccumulateListTableBean result = new AccumulateListTableBean();
        result.recordId = this.recordId;
        result.accumulate = this.accumulate;
        result.customerName = this.customerName;
        result.createTime = this.createTime;
        result.points = this.points;
        result.type = this.type;
        result.detail = this.detail;
        result.action = this.action;
        result.customerId = this.customerId;
        result.currentPoint = this.currentPoint;
        result.phone = this.phone;
        result.customerUID = this.customerUID;
        return result;
    }

    public String toString() {
        return Convert.toJson(this);
    }

    public Long getRecordId() {
        return this.recordId;
    }

    public void setRecordId(Long value) {
        this.recordId = value;
    }

    public AccumulateListTableBean withRecordId(Long value) {
        this.setRecordId(value);
        return this;
    }

    public AccumulateListTableBean withRecordId(Long value, Long defaultValue) {
        this.setRecordId(value == null ? defaultValue : value);
        return this;
    }

    public UID getAccumulate() {
        return this.accumulate;
    }

    public void setAccumulate(UID value) {
        this.accumulate = value;
    }

    public AccumulateListTableBean withAccumulate(UID value) {
        this.setAccumulate(value);
        return this;
    }

    public AccumulateListTableBean withAccumulate(UID value, UID defaultValue) {
        this.setAccumulate(value == null ? defaultValue : value);
        return this;
    }

    public String getCustomerName() {
        return this.customerName;
    }

    public void setCustomerName(String value) {
        this.customerName = value;
    }

    public AccumulateListTableBean withCustomerName(String value) {
        this.setCustomerName(value);
        return this;
    }

    public AccumulateListTableBean withCustomerName(String value, String defaultValue) {
        this.setCustomerName(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Long value) {
        this.createTime = value;
    }

    public AccumulateListTableBean withCreateTime(Long value) {
        this.setCreateTime(value);
        return this;
    }

    public AccumulateListTableBean withCreateTime(Long value, Long defaultValue) {
        this.setCreateTime(value == null ? defaultValue : value);
        return this;
    }

    public Long getPoints() {
        return this.points;
    }

    public void setPoints(Long value) {
        this.points = value;
    }

    public AccumulateListTableBean withPoints(Long value) {
        this.setPoints(value);
        return this;
    }

    public AccumulateListTableBean withPoints(Long value, Long defaultValue) {
        this.setPoints(value == null ? defaultValue : value);
        return this;
    }

    public String getType() {
        return this.type;
    }

    public void setType(String value) {
        this.type = value;
    }

    public AccumulateListTableBean withType(String value) {
        this.setType(value);
        return this;
    }

    public AccumulateListTableBean withType(String value, String defaultValue) {
        this.setType(value == null ? defaultValue : value);
        return this;
    }

    public String getDetail() {
        return this.detail;
    }

    public void setDetail(String value) {
        this.detail = value;
    }

    public AccumulateListTableBean withDetail(String value) {
        this.setDetail(value);
        return this;
    }

    public AccumulateListTableBean withDetail(String value, String defaultValue) {
        this.setDetail(value == null ? defaultValue : value);
        return this;
    }

    public String getAction() {
        return this.action;
    }

    public void setAction(String value) {
        this.action = value;
    }

    public AccumulateListTableBean withAction(String value) {
        this.setAction(value);
        return this;
    }

    public AccumulateListTableBean withAction(String value, String defaultValue) {
        this.setAction(value == null ? defaultValue : value);
        return this;
    }

    public String getCustomerId() {
        return this.customerId;
    }

    public void setCustomerId(String value) {
        this.customerId = value;
    }

    public AccumulateListTableBean withCustomerId(String value) {
        this.setCustomerId(value);
        return this;
    }

    public AccumulateListTableBean withCustomerId(String value, String defaultValue) {
        this.setCustomerId(value == null ? defaultValue : value);
        return this;
    }

    public Long getCurrentPoint() {
        return this.currentPoint;
    }

    public void setCurrentPoint(Long value) {
        this.currentPoint = value;
    }

    public AccumulateListTableBean withCurrentPoint(Long value) {
        this.setCurrentPoint(value);
        return this;
    }

    public AccumulateListTableBean withCurrentPoint(Long value, Long defaultValue) {
        this.setCurrentPoint(value == null ? defaultValue : value);
        return this;
    }

    public String getPhone() {
        return this.phone;
    }

    public void setPhone(String value) {
        this.phone = value;
    }

    public AccumulateListTableBean withPhone(String value) {
        this.setPhone(value);
        return this;
    }

    public AccumulateListTableBean withPhone(String value, String defaultValue) {
        this.setPhone(value == null ? defaultValue : value);
        return this;
    }

    public UID getCustomerUID() {
        return this.customerUID;
    }

    public void setCustomerUID(UID value) {
        this.customerUID = value;
    }

    public AccumulateListTableBean withCustomerUID(UID value) {
        this.setCustomerUID(value);
        return this;
    }

    public AccumulateListTableBean withCustomerUID(UID value, UID defaultValue) {
        this.setCustomerUID(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        byte var3 = -1;
        switch(name.hashCode()) {
            case -1772072046:
                if (name.equals("customerUID")) {
                    var3 = 11;
                }
                break;
            case -1581184615:
                if (name.equals("customerId")) {
                    var3 = 8;
                }
                break;
            case -1422950858:
                if (name.equals("action")) {
                    var3 = 7;
                }
                break;
            case -1335224239:
                if (name.equals("detail")) {
                    var3 = 6;
                }
                break;
            case -982754077:
                if (name.equals("points")) {
                    var3 = 4;
                }
                break;
            case -799234740:
                if (name.equals("recordId")) {
                    var3 = 0;
                }
                break;
            case 3575610:
                if (name.equals("type")) {
                    var3 = 5;
                }
                break;
            case 3917154:
                if (name.equals("accumulate")) {
                    var3 = 1;
                }
                break;
            case 106642798:
                if (name.equals("phone")) {
                    var3 = 10;
                }
                break;
            case 900157321:
                if (name.equals("customerName")) {
                    var3 = 2;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var3 = 3;
                }
                break;
            case 1454910359:
                if (name.equals("currentPoint")) {
                    var3 = 9;
                }
        }

        switch(var3) {
            case 0:
                return this.getRecordId();
            case 1:
                return this.getAccumulate();
            case 2:
                return this.getCustomerName();
            case 3:
                return this.getCreateTime();
            case 4:
                return this.getPoints();
            case 5:
                return this.getType();
            case 6:
                return this.getDetail();
            case 7:
                return this.getAction();
            case 8:
                return this.getCustomerId();
            case 9:
                return this.getCurrentPoint();
            case 10:
                return this.getPhone();
            case 11:
                return this.getCustomerUID();
            default:
                return null;
        }
    }

    public void setValueOf(String name, Object value) {
        byte var4 = -1;
        switch(name.hashCode()) {
            case -1772072046:
                if (name.equals("customerUID")) {
                    var4 = 11;
                }
                break;
            case -1581184615:
                if (name.equals("customerId")) {
                    var4 = 8;
                }
                break;
            case -1422950858:
                if (name.equals("action")) {
                    var4 = 7;
                }
                break;
            case -1335224239:
                if (name.equals("detail")) {
                    var4 = 6;
                }
                break;
            case -982754077:
                if (name.equals("points")) {
                    var4 = 4;
                }
                break;
            case -799234740:
                if (name.equals("recordId")) {
                    var4 = 0;
                }
                break;
            case 3575610:
                if (name.equals("type")) {
                    var4 = 5;
                }
                break;
            case 3917154:
                if (name.equals("accumulate")) {
                    var4 = 1;
                }
                break;
            case 106642798:
                if (name.equals("phone")) {
                    var4 = 10;
                }
                break;
            case 900157321:
                if (name.equals("customerName")) {
                    var4 = 2;
                }
                break;
            case 1369213417:
                if (name.equals("createTime")) {
                    var4 = 3;
                }
                break;
            case 1454910359:
                if (name.equals("currentPoint")) {
                    var4 = 9;
                }
        }

        switch(var4) {
            case 0:
                this.setRecordId((Long)value);
                return;
            case 1:
                this.setAccumulate((UID)value);
                return;
            case 2:
                this.setCustomerName((String)value);
                return;
            case 3:
                this.setCreateTime((Long)value);
                return;
            case 4:
                this.setPoints((Long)value);
                return;
            case 5:
                this.setType((String)value);
                return;
            case 6:
                this.setDetail((String)value);
                return;
            case 7:
                this.setAction((String)value);
                return;
            case 8:
                this.setCustomerId((String)value);
                return;
            case 9:
                this.setCurrentPoint((Long)value);
                return;
            case 10:
                this.setPhone((String)value);
                return;
            case 11:
                this.setCustomerUID((UID)value);
                return;
            default:
        }
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    public int hashCode() {
        return this.signature().hashCode();
    }

    public boolean equals(Object o) {
        return !(o instanceof AccumulateListTableBean) ? false : this.signature().equals(((AccumulateListTableBean)o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean AccumulateListTableBean has no signature defined, no hash code or equals possible.");
    }
}
